突撃!隣の開発環境 パート11【リクルートライフスタイル編】
こんにちは!おおはしりきたけです。今回も突撃!隣の開発環境という形でイケてる開発会社さんの開発環境についてインタビューさせてもらいました。第11弾として、リクルートライフスタイルさんに訪問させてもらいました。インタビューに答えていただいたのはAirレジを担当している、塚越さんと山口さんになります。
突撃!隣の開発環境とは
技術事例やノウハウなどは、ブログや勉強会などで共有されることが多いと思います。しかし、各社の開発環境や開発体制などは意外と共有されていないこと多いと思います。ノウハウの流出になるかもしれませんが、それ以上に、より良い開発を目指している会社さん同士で情報交換を行い、良いチーム、良いプロダクトを作っていくという志の会社さんの為の情報共有のための企画になります。開発環境や開発体制なども技術領域によっても変わってくると思いますが、この突撃!隣のシリーズでは様々な会社さんのイケてるツールの使い方や、仕事が捗る開発体制についてインタビューを行っていく予定です。
リクルートライフスタイル紹介
どんなことをやっているのか?
リクルートライフスタイルさんは、日常消費領域である「顧客接点」の強さとITの力を使って多くの新規事業やイノベーションを生み出しており、『じゃらん』や『ホットペッパー グルメ』、『ホットペッパービューティー』など「ネット予約」のサービスや、これらの事業の延長線上に『サロンボード』や『Airレジ』のようなサービスを拡充し、クライアントが本業に集中できるように、経営効率や業務効率を改善するという顧客課題にも向き合っています。
開発環境について
まずは、リクルートライフスタイルさんの開発環境について色々と伺っていこうかと思います。
開発端末
リクルートライフスタイルさんでは、エンジニアの方は、MBPの15インチを利用していることが多いそうです。自席のデスクには開発効率を上げるため、デュアルディスプレイを利用している方も多いとのことでした。キーボードもJIS、USと配列については選ぶことができます。Airレジチームは、エンジニア以外にも、企画やデザイナーの方もおり、企画の方などは、MBAやWindows端末を利用することが多いとのことでした。
写真はスタンディングで作業を行う塚越さん。自席以外で作業に集中したい時などに利用するそうです。
コミュニケーションツール
プロジェクトを円滑にするために様々なコミュニケーションツールを使うことになります。チャットやチケットの管理、仕様の共有などどのように行っているのか聞いてみました。
チャットツール
ツールとしては、Slack、HipChat、Skypeなどを使い分けているそうです。最初はSkypeが多かったとのことですが、最近ではSlack、HipChatを利用することも多くなってきているとのことでした。Skypeからの移行理由としては、ChatOps的なことを導入し始めており、その点でSlackやHipChatが優れているためということでした。現在は、Jenkins、Hubot、githubなどのツールと連携したり、ビルド結果なども情報として流れるそうです。チャットでのやり取りは、主にコードレビューの依頼や、仕様の情報共有であったり、レビュー結果のLGTM画像なども頻繁に流れているそうです。プロジェクト以外では、Swiftなどの技術情報のチャンネルや、LTなど雑談系のチャンネルもあったりするそうです。
プロジェクト管理ツール
リクルートライフスタイルさんは、Scrumでプロジェクトを回しているということで、プロジェクトの進め方としては、ユーザーストーリーなどの大きい単位はJIRAで管理されており、細かいタスクに関してはタスクボードで進めているということでした。基準となるストーリーを明確ににし、プロダクトバックログの意思決定者は、プロダクトオーナーに確認を行う形で作業が進んでいるとのことでした。また、見積については完了の定義などを必ず決めて、見積もりタスク時間は3時間以内にするなど細かいルールを定義して進めているようです。
仕様の共有方法
Confluenceで要件が纏められており、要件についての説明は、Scrumのイベントの一つであるリファインメントで説明を行っているとのことでした。要件の説明についても、一方向にならないように注意しているということで、見積もれない状態での見積もりをしないよう、必ずチームとして不明点、改善点などをディスカッションし、チケットの完了条件を明確にするよう心がけながら進めているとのことでした。
リポジトリ
Github Enterpriseを使っており、運用としてはgithubフローで運用されているとのことでした。リクルートライフスタイルさんは、OSS活動にも積極的で、githubにOSS用のリポジトリを公開しています。内部的に利用しているライブラリなどをリポジトリで共有したり、CocoaPodsで取得できるように公開しているとのことでした。また、内部のリポジトリでは、各サービスのソースコード以外にもソースコード規約なども管理されているとのことでした。
自動化ツール
iOSアプリでは、最新のOSバージョンをCIサービスなどで利用する場合、リリース後1ヶ月などに利用開始になるため、社内でMacMiniでJenkinsを立ててやっているとのことでした。CIサービスでは、ビルド、DeployGateへの配信などを行っており、テストコードは書かれているので、今後テストコードについてもCIで自動テストを行っていく予定とのことでした。
デザインツール
Prottを利用してプロトタイプを作ることを検討しており、また、デザイナーさんでも役割が色々あり、UserExperienceをデザインするデザイナーさんや、情報設計やビジュアルデザインに特化したデザイナーさん、アプリのUI部分について直接コードを修正しPullRequestを投げてくれるデザイナーさんなど様々な役割のデザイナーさんがいるということでした。デザイナーさんとのやり取りは、要件を決める場合などは、頻繁に対面で会話を行うことが多く、画面でのアニメーションについては、アニメーションを分離して、カスタムトランジションなどで対応できるようにしたりしているそうです。
開発体制
開発チームについて
Airレジについては、プロダクトオーナーが1名、その他の役割として、マーケティング、エンジニア、デザイナー、QAというチーム構成でやっているとのことでした。
スクラムチームとしては、エンジニア、QAでチームを組んで、大体1チーム8名前後(エンジニア6名、QA2名)でプロジェクトを進めていくとのことでした。デザイナーなどは、スクラムチームではなく協力者という位置づけになるそうです。
開発プロセスについて
上述の通り、1チーム8名程度、スプリントは1週間のスクラムで進められており、朝は10時からデイリースクラムが始まり15分ずつずらしながら各チームのデイリースクラムが行われていきます。スクラムマスターは専任で、様々なチームのスクラムマスターを兼任で進めているそうです。スクラムのイベントである、レビュー、レトロスペクティブ、プランニングなどは1日で一気に行ってしまうそうです。「スクラムってイベントの時間が長くないですか?」という質問をしたところ、やはり長く感じるのは課題だったということで、常にやり方を改善していっているとのことでした。例えば、スクラム以外のセレモニーを無すことで、スクラムイベント日以外は作業に集中できるようになったりしたとのことでした。話を聞いて思ったのは、リクルートライフスタイルさんでは、スクラムのプロセスは尊重しながら、組織構造に柔軟に合わせていると感じました。
コミュニケーションについて
コミュニケーションで注意している点としては、チームで席を近くにすることで、距離が近いので相談しやすくなったり、プロダクトオーナーも近くにいるため、すぐ相談できる環境を作っているとのことでした。アジャイルマニフェスト宣言にも書かれていますが「プロセスやツールよりも個人と対話を」を体現されており、素晴らしいなと思いました。
テストについて
Apple標準のテストフレームワークを使って、ビジネスロジックのUnitTestは書かれており、ソースコードレビューが完了し、UnitTestが完了したら、QAさんに実機でテストを行ってもらうとのことでした。UI側のテストについては、コードではなくQAさんの確認を行っているとのことでした。
その他
リクルートライフスタイルさんでは、その他以下の様な活動も行っております。
LT
週1で、技術について話をするそうで、WWDCの報告会やAWSネタ、Pythonなどの言語ネタなど様々な話題で開催されているそうです。
OSS開発
上述したとおり、リクルートライフスタイルさんでは、OSS活動を積極的に行われています。主に、UI系のライブラリなどが多く公開されています。
今回登場したツール
コミュニケーション
- チャット:Slack
- チャット:HipChat
- チャット:Skype
- リポジトリ:GitHub Enterprise
- タスク管理:JIRA
- 情報共有:Confluence
自動化
デザイン
- プロト:Prott
※リクルートライフスタイルさんでは、上記以外にも様々なツールを利用しております。上記はインタビュー時に伺った内容のものを記載しています。
まとめ
第11回目は、リクルートライフスタイルさんにインタビューさせてもらいました。インタビューをさせていただき、スクラムを真剣に実践していると感じました。スクラムは勿論プロセスとして素晴らしいですが、プロセスが全ての組織に当てはまるかと言うとそうではありません。スクラムを効果的に回すには、各メンバーが「自分事」として取り組む意識が大切になります。リクルートライフスタイルさんでも導入当初はスムーズには行かなかったと伺いましたが、それでも細かい改善をしながら良いプロダクトを作って行くという強い思いがあって、スクラムも回り始めたのだと思います。これからもどんどん良いプロダクトが出てくることを期待しています。更に詳しいリクルートライフスタイルさんのエンジニアさんの働き方についてはこちらにあります。
最後に写真を撮らせていただきました。山口さん、塚越さん、私です。お忙しいところありがとうございました!!
参考リンク
http://www.recruit-lifestyle.co.jp/
http://www.agilemanifesto.org/iso/ja/
http://pages.forkwell.com/article-20150710-RLS.html
http://engineer.recruit-lifestyle.co.jp/